package com.sumer.psychology.tag.domain.model;

import org.apache.commons.collections.CollectionUtils;

import java.util.Set;

/**
 * 标签领域服务
 * <p/>
 * User: zhenguang.zhu
 * Date: 2014/9/9
 * Time: 13:40
 */
public class TagService {
    /**
     * 所有的tag都是照片
     *
     * @param tags tags
     * @return result
     */
    public boolean areAllPhotoTags(Set<Tag> tags) {
        return typeComfortable(tags, TagType.PHOTO);
    }

    /**
     * 所有的tag都是博客
     *
     * @param tags tags
     * @return result
     */
    public boolean areAllBlogTags(Set<Tag> tags) {
        return typeComfortable(tags, TagType.BLOG);
    }

    /**
     * 所有的tag都是资源分享
     *
     * @param tags tags
     * @return result
     */
    public boolean areAllResourceTags(Set<Tag> tags) {
        return typeComfortable(tags, TagType.RESOURCE);
    }

    /*
     * 标签类型是否合适
     */
    private boolean typeComfortable(Set<Tag> tags, TagType tagType) {
        if (CollectionUtils.isNotEmpty(tags)) {
            for (Tag tag : tags) {
                if (!tag.tagType().equals(tagType)) {
                    return false;
                }
            }
        }
        return true;
    }
}
